import { IPSSubSysServiceAPIDE } from './ipssub-sys-service-apide';
import { IPSSubSysServiceAPIMethod } from './ipssub-sys-service-apimethod';
import { IPSSubSysServiceAPIMethodInput } from './ipssub-sys-service-apimethod-input';
import { IPSSubSysServiceAPIMethodReturn } from './ipssub-sys-service-apimethod-return';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSSubSysServiceAPIDEMethod
 */
export interface IPSSubSysServiceAPIDEMethod extends IPSSubSysServiceAPIMethod {
  /**
   * 输入对象
   *
   * @type {IPSSubSysServiceAPIDE}
   */
  getInPSSubSysServiceAPIDE(): IPSSubSysServiceAPIDE | null;

  /**
   * 输入对象
   *
   * @type {IPSSubSysServiceAPIDE}
   */
  get inPSSubSysServiceAPIDE(): IPSSubSysServiceAPIDE | null;

  /**
   * 输入对象（必须存在）
   *
   * @type {IPSSubSysServiceAPIDE}
   */
  getInPSSubSysServiceAPIDEMust(): IPSSubSysServiceAPIDE;

  /**
   * 输出对象
   *
   * @type {IPSSubSysServiceAPIDE}
   */
  getOutPSSubSysServiceAPIDE(): IPSSubSysServiceAPIDE | null;

  /**
   * 输出对象
   *
   * @type {IPSSubSysServiceAPIDE}
   */
  get outPSSubSysServiceAPIDE(): IPSSubSysServiceAPIDE | null;

  /**
   * 输出对象（必须存在）
   *
   * @type {IPSSubSysServiceAPIDE}
   */
  getOutPSSubSysServiceAPIDEMust(): IPSSubSysServiceAPIDE;

  /**
   * 外部接口实体对象
   *
   * @type {IPSSubSysServiceAPIDE}
   */
  getPSSubSysServiceAPIDE(): IPSSubSysServiceAPIDE | null;

  /**
   * 外部接口实体对象
   *
   * @type {IPSSubSysServiceAPIDE}
   */
  get psSubSysServiceAPIDE(): IPSSubSysServiceAPIDE | null;

  /**
   * 外部接口实体对象（必须存在）
   *
   * @type {IPSSubSysServiceAPIDE}
   */
  getPSSubSysServiceAPIDEMust(): IPSSubSysServiceAPIDE;

  /**
   * 方法输入对象
   *
   * @type {IPSSubSysServiceAPIMethodInput}
   */
  getPSSubSysServiceAPIMethodInput(): IPSSubSysServiceAPIMethodInput | null;

  /**
   * 方法输入对象
   *
   * @type {IPSSubSysServiceAPIMethodInput}
   */
  get psSubSysServiceAPIMethodInput(): IPSSubSysServiceAPIMethodInput | null;

  /**
   * 方法输入对象（必须存在）
   *
   * @type {IPSSubSysServiceAPIMethodInput}
   */
  getPSSubSysServiceAPIMethodInputMust(): IPSSubSysServiceAPIMethodInput;

  /**
   * 方法返回对象
   *
   * @type {IPSSubSysServiceAPIMethodReturn}
   */
  getPSSubSysServiceAPIMethodReturn(): IPSSubSysServiceAPIMethodReturn | null;

  /**
   * 方法返回对象
   *
   * @type {IPSSubSysServiceAPIMethodReturn}
   */
  get psSubSysServiceAPIMethodReturn(): IPSSubSysServiceAPIMethodReturn | null;

  /**
   * 方法返回对象（必须存在）
   *
   * @type {IPSSubSysServiceAPIMethodReturn}
   */
  getPSSubSysServiceAPIMethodReturnMust(): IPSSubSysServiceAPIMethodReturn;
}
